Skip to content

feat: add letterboxd + mal to the ratings response - #879

Merged
vladjerca merged 1 commit into
masterfrom
feat/ratings-letterboxd-mal
Jul 21, 2026
Merged

feat: add letterboxd + mal to the ratings response#879
vladjerca merged 1 commit into
masterfrom
feat/ratings-letterboxd-mal

Conversation

@vladjerca

Copy link
Copy Markdown
Contributor

Adds letterboxd and mal blocks to the movie ratings response (RatingsResponse), available under extended=all, mirroring the existing tmdb / imdb blocks (rating + link + votes, all nullish).

  • letterboxd: Letterboxd audience rating, 0-5 scale, films only.
  • mal: MyAnimeList audience rating, 0-10 scale, anime only.

Both are nullish (absent for titles without a score / non-anime). Scales differ per source, documented in the JSDoc, consistent with how the existing blocks already vary (trakt/tmdb/imdb 0-10, metascore/RT 0-100).

The API serves these from dedicated rating columns; the OpenAPI spec regenerates from the schema on build.

Expose Letterboxd (0-5, films) and MyAnimeList (0-10, anime) audience scores
(rating + link + votes) on the ratings responses, scoped per media type:

- Movie ratings -> letterboxd + mal (new movieRatingsResponseSchema).
- Show ratings -> mal only (new showRatingsResponseSchema); Letterboxd is
  films-only.
- Season/episode ratings -> unchanged (shared ratingsResponseSchema).

Keeps the shared schema clean and exports externalRatingsResponseSchema for the
per-type extensions. Available under extended=all, mirroring tmdb/imdb.
@vladjerca
vladjerca force-pushed the feat/ratings-letterboxd-mal branch from 36bcf2e to 1c986c5 Compare July 21, 2026 08:19
@vladjerca
vladjerca merged commit 0b52abc into master Jul 21, 2026
3 checks passed
@vladjerca
vladjerca deleted the feat/ratings-letterboxd-mal branch July 21, 2026 08:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant